//npm i express-session

//导入express
const express = require('express');
const session = require('express-session');

//创建应用对象
const app = express();

app.use(session({
  name: 'sid',//设置cookie中保存session的id字段名，默认是connect.sid
  secret: 'bbj',//设置加密字符串，用于对session数据进行签名(又称签名)
  saveUninitialized: false,//是否每次请求都设置一个cookie来存储session的id
  resave: true,//是否每次请求都重新保存session
  cookie: {
    httpOnly: true, //开启后前端无法通过JS操作，提高安全性
    maxAge: 300 * 1000//这一天是控制sessionID的过期时间的！！！
  }
}))



//创建seesion
app.get('/login', (req, res) => {
  req.session.username = 'jack';
  req.session.email = '111@qq.com';
  res.send('登录成功');
})

//获取session
app.get('/admin', (req, res) => {
  console.log(req.session);
  let { username, email } = req.session;
  if (username) {
    res.send(`欢迎${username}，邮箱${email}`);
  } else {
    res.send('登录页面');
  }

})

//销毁session
app.get('/logout', (req, res) => {
  req.session.destroy();
  res.send('退出注销');
})









//监听端口，启动服务
app.listen(3000, () => {
  console.log('服务已经启动，3000端口监听中...');
});